From f40b3bc5bc1d89c86e2a258505b6239fe2956f0d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 11 Nov 2017 07:46:59 -0500 Subject: [PATCH] Fix up managed dnd Since commit 6c56d04cee23d3340cf7cf08756c610efe9ccdab, we were doing some calls twice in the managed dnd case, leading to double drops. --- gtk/gtkdnd.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 40c14eeb4b..3caf43a375 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -1905,7 +1905,9 @@ gtk_drag_drop (GtkDragSourceInfo *info, if (info->icon_window) gtk_widget_hide (info->icon_window); - gdk_drag_drop (info->context, time); + if (!gtk_drag_is_managed (info->widget)) + gdk_drag_drop (info->context, time); + info->drop_timeout = gdk_threads_add_timeout (DROP_ABORT_TIME, gtk_drag_abort_timeout, info); @@ -2195,7 +2197,8 @@ gtk_drag_cancel_internal (GtkDragSourceInfo *info, guint32 time) { gtk_drag_end (info, time); - gdk_drag_abort (info->context, time); + if (!gtk_drag_is_managed (info->widget)) + gdk_drag_abort (info->context, time); gtk_drag_drop_finished (info, result, time); } -- 2.30.2